package com.css.zfzx.fxpg.modules.preestimate.result.service;

import com.alibaba.fastjson.JSONObject;
import com.css.zfzx.fxpg.modules.preestimate.result.repository.entity.FxPreestimateResultEntity;
import com.css.zfzx.fxpg.modules.preestimate.result.viewobjects.FxPreestimateResultQueryParams;
import com.css.bpm.platform.sys.dict.repository.entity.DictItemEntity;
import com.css.zfzx.fxpg.modules.risk.viewobjects.FxRiskResultQueryParams;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @author leon
 * @date 2020-11-19
 */

public interface FxPreestimateResultService {

    JSONObject queryFxPreestimateResults(FxPreestimateResultQueryParams queryParams, int curPage, int pageSize);

    FxPreestimateResultEntity getFxPreestimateResult(String id);

    FxPreestimateResultEntity saveFxPreestimateResult(FxPreestimateResultEntity fxPreestimateResult);

    FxPreestimateResultEntity updateFxPreestimateResult(FxPreestimateResultEntity fxPreestimateResult);

    void deleteFxPreestimateResults(List<String> ids);


    String importExcel(MultipartFile file);

    String exportExcel(FxPreestimateResultQueryParams queryParams, HttpServletResponse response);

    String exportSpatialLocationExcel(FxPreestimateResultQueryParams queryParams, HttpServletResponse response);

    List<FxPreestimateResultEntity> getFxPreestimateResults(FxPreestimateResultQueryParams queryParams);

    List<DictItemEntity> getValidDictItemsByDictCode(String dictCode);

    JSONObject querySpatialLocation(FxPreestimateResultQueryParams queryParams, int curPage, int pageSize);

    JSONObject querySpatialLocationByBoundary(FxPreestimateResultQueryParams queryParams, int curPage, int pageSize);
}
